home *** CD-ROM | disk | FTP | other *** search
/ Delphi Magazine Collection 2001 / Delphi Magazine Collection 20001 (2001).iso / DISKS / Issue38 / Clinic / StpKey4U.pas < prev    next >
Pascal/Delphi Source File  |  1998-07-07  |  2KB  |  97 lines

  1. unit StpKey4U;
  2.  
  3. interface
  4.  
  5. uses
  6.   WinProcs, WinTypes, Messages, SysUtils, Classes, Graphics, Controls, Forms,
  7.   Dialogs, StdCtrls, Menus;
  8.  
  9. type
  10.   TForm1 = class(TForm)
  11.     MainMenu1: TMainMenu;
  12.     DummyItems1: TMenuItem;
  13.     Colour1: TMenuItem;
  14.     Minimise1: TMenuItem;
  15.     Label1: TLabel;
  16.     Label2: TLabel;
  17.     Label3: TLabel;
  18.     Edit1: TEdit;
  19.     Edit2: TEdit;
  20.     Edit3: TEdit;
  21.     Edit4: TEdit;
  22.     Edit5: TEdit;
  23.     Edit6: TEdit;
  24.     Edit7: TEdit;
  25.     Edit8: TEdit;
  26.     Label4: TLabel;
  27.     F21: TMenuItem;
  28.     AltS1: TMenuItem;
  29.     procedure Colour1Click(Sender: TObject);
  30.     procedure Minimise1Click(Sender: TObject);
  31.     procedure AltS1Click(Sender: TObject);
  32.     procedure F21Click(Sender: TObject);
  33.     procedure FormShortCut(var Msg: TWMKey; var Handled: Boolean);
  34.   private
  35.     { Private declarations }
  36.   public
  37.     { Public declarations }
  38.   end;
  39.  
  40. var
  41.   Form1: TForm1;
  42.  
  43. implementation
  44.  
  45. {$R *.DFM}
  46.  
  47. procedure TForm1.Colour1Click(Sender: TObject);
  48. begin
  49.   Color := RGB(Random(256), Random(256), Random(256))
  50. end;
  51.  
  52. procedure TForm1.Minimise1Click(Sender: TObject);
  53. begin
  54.   Application.Minimize
  55. end;
  56.  
  57. procedure TForm1.AltS1Click(Sender: TObject);
  58. begin
  59.   Caption := 'Alt+S pressed at ' + TimeToStr(Time)
  60. end;
  61.  
  62. procedure TForm1.F21Click(Sender: TObject);
  63. begin
  64.   Caption := 'F2 pressed at ' + TimeToStr(Time)
  65. end;
  66.  
  67. procedure TForm1.FormShortCut(var Msg: TWMKey; var Handled: Boolean);
  68. var
  69.   Shift: TShiftState;
  70. begin
  71.   Shift := KeyDataToShiftState(Msg.KeyData);
  72.   if (Msg.CharCode = vk_F2) and (Shift = []) then
  73.   begin
  74.     Caption := 'F2 was pressed at ' + TimeToStr(Time);
  75.     Handled := True
  76.   end;
  77.   if (Msg.CharCode = vk_Escape) and (Shift = []) then
  78.   begin
  79.     Color := RGB(Random(256), Random(256), Random(256));
  80.     Handled := True
  81.   end;
  82.   if (UpCase(Chr(Msg.CharCode)) = 'S') and (Shift = [ssCtrl]) then
  83.   begin
  84.     Application.Minimize;
  85.     Handled := True
  86.   end;
  87.   if (UpCase(Chr(Msg.CharCode)) = 'S') and (Shift = [ssAlt]) then
  88.   begin
  89.     Caption := 'Alt+S was pressed at ' + TimeToStr(Time);
  90.     Handled := True
  91.   end
  92. end;
  93.  
  94. initialization
  95.   Randomize
  96. end.
  97.